Certain computer applications can provide an interactive three-dimensional environment. For example, three-dimensional modeling software can be used to generate and modify three-dimensional models of real world objects.
Other applications that provide an interactive three-dimensional environment include a virtual globe application, a mapping application, or other components of a geographic information system. In particular, such applications can provide an interactive rendering of a three-dimensional model of all or a portion of the surface of the Earth. The three-dimensional model can include terrain, structures such as roads and buildings, or other points of interest.
In certain applications, the user can be permitted to navigate about the three-dimensional environment. For example, the user may be permitted adjust the position and orientation of a virtual camera within the three-dimensional environment to control the viewpoint provided to such user.
Further, in certain applications, the user can be permitted to tilt the virtual camera away from a strictly overhead view. In such fashion, three-dimensional components of the rendering of the three-dimensional model, such as terrain or skyscrapers, can contribute to a compelling visualization of the real world.
However, the controls provided to a user for navigating about a three-dimensional environment can be difficult to learn and use. For example, when navigational actions such as tilting, panning, and zooming must each be controlled or prompted by separate gestures or control widgets, the user may struggle to learn and synthesize each of such different controls. Thus, the user can struggle to view a particular region of the rendering or struggle to achieve a particularly desired viewpoint, reducing user satisfaction.
This problem is particularly acute in the mobile computing device context, in which the display area for a user interface is generally limited in size. Thus, providing multiple controls for respective navigational actions can clutter the screen, detracting from the immersive experience of the three-dimensional environment. Further, for users with less dexterous fine motor skills, performing multiple unique control gestures can be an intimidating deterrent to the use and enjoyment of the computer application.